<!DOCTYPE html>
<html lang="zn">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Number</title>
    <script>
        /*
            在JS中所有的数值都是Number类型，包括整数和浮点数(小数)
            JS中可以表示的数字的最大值
                Number.MAX_VALUE
                    1.7976931348623157e+308

                Number.MIN_VALUE大于0的最小值
                    5e-324

                如果使用Number表示的数字超过了最大值，则会返回一个Infinity
                    Infinity 表示正无穷
                    -Infinity 表示负无穷
                    使用typeof检查Infinity也会返回number

            NaN是一个特殊的数字，表示Not a Number
                使用typeof检查一个NaN也会返回number

        */
        var a = Number.MAX_VALUE;
        console.log(a);
        var b = Number.MIN_VALUE;
        console.log(b);
        var c = Number.MAX_VALUE * Number.MAX_VALUE;
        console.log(c);
        console.log(typeof c)

        a = "abc" * "bcd";
        console.log(a);
        console.log(typeof a);
        /*
            可以使用一个运算符typeof来检查一个变量的类型
            语法：typeof 变量
            检查字符串时，会返回string
            检查数值时，会返回number
        */
        a = 123;
        console.log(a);
        console.log(typeof a);
        b = "123";
        console.log(b);
        console.log(typeof b);

        /*
            在JS中整数的运算基本可以保持精度
            但如果使用JS进行浮点运算，可能得到一个不精确的结果
                所以千万不要使用JS进行对精确度要求比较高的运算
        */
        c = 1234 + 1234;
        console.log(c);
        c = 0.1 + 0.2;
        console.log(c);
    </script>
</head>
<body>
    
</body>
</html>